package mysql

//
//import (
//	"cn.xdns.monitor/monitor-client/config"
//	"database/sql"
//	"fmt"
//	_ "github.com/go-sql-driver/mysql"
//	"log"
//)
//
//type dbConf config.Conf
//
//var dataConfig = dbConf(config.Config)
//
//func dbUrl() func(config *dbConf) (dbType, url string) {
//	dbType := "mysql"
//	return func(config *dbConf) (string, string) {
//		return dbType,
//			fmt.Sprintf("%s:%s@%s(%s:%s)/%s",
//				config.Mysql.Username,
//				config.Mysql.Password,
//				config.Mysql.Network,
//				config.Mysql.Host,
//				config.Mysql.Port,
//				config.Mysql.Database)
//	}
//}
//
//func init() {
//	dbType, dburl := dbUrl()(&dataConfig)
//	log.Printf("db type is : %s, db url is : %s \n", dbType, dburl)
//	//db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/test")
//	db, err := sql.Open(dbType, dburl)
//	if err != nil {
//		panic(err.Error()) // Just for example purpose. You should use proper error handling instead of panic
//	}
//	defer db.Close()
//
//	// Prepare statement for inserting data
//	stmtIns, err := db.Prepare("INSERT INTO squareNum VALUES( ?, ? )") // ? = placeholder
//	if err != nil {
//		panic(err.Error()) // proper error handling instead of panic in your app
//	}
//	defer stmtIns.Close() // Close the statement when we leave main() / the program terminates
//
//	// Prepare statement for reading data
//	stmtOut, err := db.Prepare("SELECT squareNumber FROM squarenum WHERE number = ?")
//	if err != nil {
//		panic(err.Error()) // proper error handling instead of panic in your app
//	}
//	defer stmtOut.Close()
//
//	// Insert square numbers for 0-24 in the database
//	for i := 0; i < 25; i++ {
//		_, err = stmtIns.Exec(i, (i * i)) // Insert tuples (i, i^2)
//		if err != nil {
//			panic(err.Error()) // proper error handling instead of panic in your app
//		}
//	}
//
//	var squareNum int // we "scan" the result in here
//
//	// Query the square-number of 13
//	err = stmtOut.QueryRow(13).Scan(&squareNum) // WHERE number = 13
//	if err != nil {
//		panic(err.Error()) // proper error handling instead of panic in your app
//	}
//	fmt.Printf("The square number of 13 is: %d", squareNum)
//
//	// Query another number.. 1 maybe?
//	err = stmtOut.QueryRow(1).Scan(&squareNum) // WHERE number = 1
//	if err != nil {
//		panic(err.Error()) // proper error handling instead of panic in your app
//	}
//	fmt.Printf("The square number of 1 is: %d", squareNum)
//
//}
